package cn.itcast.mq.listener;

import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

import java.util.concurrent.TimeUnit;

/**
 *消费者监听器类
 *
 * @Author mr.du
 * @Date2025/1/5 17:32
 */
@Slf4j
@Component
public class ConsumerListener {
    /**
     * 简单工作模型-消费者监听方法
     */
    @RabbitListener(queues = "simple.queue")
    public void simple(String msg){
        log.info("[简单工作模型]消费者监听方法，监听到的消息：{}",msg);
    }

    /**
     * 工作队列模型-消费者监听方法1
     */
    @RabbitListener(queues = "work.queue")
    public void workQueue1(String msg) throws InterruptedException {
        log.info("[简单工作模型]消费者监听方法1，监听到的消息：{}",msg);
        TimeUnit.MILLISECONDS.sleep(10);//模拟处理耗时10毫秒
    }

    /**
     * 工作队列模型-消费者监听方法2
     */
    @RabbitListener(queues = "work.queue")
    public void workQueue2(String msg) throws InterruptedException {
        log.info("[简单工作模型]消费者监听方法2，监听到的消息：{}",msg);
        TimeUnit.MILLISECONDS.sleep(100);//模拟处理耗时100毫秒
    }
}
